package com.vcredit.creditcat.vo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.vcredit.creditcat.dto.creditrepository.ItemStatusDto;
import com.vcredit.creditcat.model.CustSupplementItem;
import com.vcredit.creditcat.model.base.AbstractItem;


public class AuthItemCheckResultVo implements Serializable{

	private static final long serialVersionUID = -2182320371571843771L;

	/**
	 * 0、有未申请、申请中、已通过的认证项，但没有失败的认证项
	 * 1、认证项全部通过
	 * 2、有申请中、已通过的认证项,没有失败和未申请的认证项
	 * 3、有失败的认证项
	 * 4、所有认证项都未申请
	 * 5、有过期认证项
	 */
	private int code; // 校验结果
	
	private String msg; // 结果描述
	
	private List<ItemStatusDto> itemStatusDtoList; // 认证项状态
	
	private Map<Integer,AbstractItem> custAuthInfoMap; // 用户认证信息
	
	private Map<Long, CustSupplementItem> custSupplementItemMap; // 用户补充认证项信息
	
	private List<Integer>  expireAuthItemList; // 失效的原始认证项
	
	private List<Long>  expireSupplementItemList; // 失效的补充认证项
	
	public AuthItemCheckResultVo() {
		super();
	}
	
	public AuthItemCheckResultVo(int code, String msg,
			List<ItemStatusDto> itemStatusDtoList,
			Map<Integer, AbstractItem> custAuthInfoMap,
			Map<Long, CustSupplementItem> custSupplementItemMap,
			List<Integer> expireAuthItemList,
			List<Long>  expireSupplementItemList) {
		super();
		this.code = code;
		this.msg = msg;
		this.itemStatusDtoList = itemStatusDtoList;
		this.custAuthInfoMap = custAuthInfoMap;
		this.custSupplementItemMap = custSupplementItemMap;
		this.expireAuthItemList = expireAuthItemList;
		this.expireSupplementItemList = expireSupplementItemList;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public List<ItemStatusDto> getItemStatusDtoList() {
		return itemStatusDtoList;
	}

	public void setItemStatusDtoList(List<ItemStatusDto> itemStatusDtoList) {
		this.itemStatusDtoList = itemStatusDtoList;
	}

	public Map<Integer, AbstractItem> getCustAuthInfoMap() {
		return custAuthInfoMap;
	}

	public void setCustAuthInfoMap(Map<Integer, AbstractItem> custAuthInfoMap) {
		this.custAuthInfoMap = custAuthInfoMap;
	}

	public List<Integer> getExpireAuthItemList() {
		return expireAuthItemList;
	}

	public void setExpireAuthItemList(List<Integer> expireAuthItemList) {
		this.expireAuthItemList = expireAuthItemList;
	}

	public Map<Long, CustSupplementItem> getCustSupplementItemMap() {
		return custSupplementItemMap;
	}

	public void setCustSupplementItemMap(
			Map<Long, CustSupplementItem> custSupplementItemMap) {
		this.custSupplementItemMap = custSupplementItemMap;
	}

	public List<Long> getExpireSupplementItemList() {
		return expireSupplementItemList;
	}

	public void setExpireSupplementItemList(List<Long> expireSupplementItemList) {
		this.expireSupplementItemList = expireSupplementItemList;
	}
}
